package com.demo.annotation;


import com.demo.entity.enums.RequestFrequencyTypeEnum;
import org.springframework.web.bind.annotation.Mapping;

import java.lang.annotation.*;

//在方法上面加
@Target({ElementType.METHOD})
//作用时间
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface GlobalInterceptor {

    /**
     * 校验登录
     * @return
     */
    boolean checkLogin() default true;

    /**
     * 校验管理员
     * @return
     */
    boolean checkAdmin() default false;

    boolean checkCounselor() default false;


    /**
     * 是否校验参数 默认不校验
     * @return
     */
    boolean checkParams() default false;

    int requestFrequencyThreshold() default 0;

    RequestFrequencyTypeEnum frequencyType() default RequestFrequencyTypeEnum.NO_LIMIT;
}
